1. The Field of the Invention
This invention relates generally to the field of computer networking. In particular, embodiments of the present invention relate to systems and methods for providing network resources to network connected client.
2. The Relevant Technology
Computer and data communications networks continue to proliferate due to declining costs, increasing performance of computer and networking equipment, and increasing demand for communication bandwidth. Communications networks—including wide area networks (“WANs”) and local area networks (“LANs”)—allow increased productivity and utilization of distributed computers or stations through the sharing of resources, the transfer of voice and data, and the processing of voice, data and related information at the most efficient locations. Moreover, as organizations have recognized the economic benefits of using communications networks, network applications such as electronic mail, voice and data transfer, host access, and shared and distributed databases are increasingly used as a means to increase user productivity. This increased demand, together with the growing number of distributed computing resources, has resulted in a rapid expansion of the number of installed networks.
As the demand for networks has grown, network technology has grown to include many different physical configurations. Examples include Ethernet, Token Ring, Fiber Distributed Data Interface (“FDDI”), Fibre Channel, and InfiniBand networks. These and the many other types of networks that have been developed typically utilize different cabling systems, different bandwidths and typically transmit data at different speeds. In addition, each of the different network types have different sets of standards, referred to as protocols, which set forth the rules for accessing the network and for communicating among the resources on the network. Historically, a majority of installed networks utilize a wire-based communications medium. That is, the interconnections between computers and peripherals are accomplished with elaborate wire and cable-based connection systems. Depending on the size and type of network involved, the cost, installation, maintenance and upgrading of such networks is quite complex and requires sophisticated skills. Moreover, even the physical space needed for today's wire-based network systems can be prohibitive.
One solution to some of the drawbacks of wire-based connections is the use of short range wireless communication schemes to interconnect computers and computer peripherals within a network. The use of wireless communications provides a number of advantages, including the elimination of complex, expensive, and inconvenient wire and cable-based connections. A number of wireless communications standards have been developed for such applications; two popular examples are known as IEEE 802.11 and “Bluetooth.” Both standards use low power radio frequencies to allow communication between various devices such as mobile phones, laptop and desktop computers, printers, modems, PDAs, and the like.
Bluetooth technology was originally envisioned for the purpose of replacing cabling and other hard-wired connection schemes used to connect auxiliary devices to a desktop or laptop computer. However, in addition to providing those types of capabilities, Bluetooth has further evolved into a method of sending both data and voice signals between a wide range of devices. For example, a Bluetooth-enabled PDA could be configured to automatically connect to a Bluetooth-enabled communications link to an established network within a building, therefore gaining wireless access to computing resources such as printers, Internet portals, etc.
Similarly, 802.11 transceivers provide the ability to create a wireless connection between a computer-device and other 802.11 enabled devices, such as a wireless hub connected to an existing local area network. In this environment, an 802.11 equipped device can exist as a node on a local area network, yet does not require a physical connection to the network. Like Bluetooth, aside from the advantages relating to the elimination of wires and cabling, this wireless attachment scheme allows a user—especially a user of a mobile computing device—to maintain a network connection even while physically moving, for example between offices.
Thus, such wireless schemes provide the ability to connect any one of a number of computing devices to a standard wire-based LAN that would normally require some form of wired connection, such as an Ethernet network interface card (NIC) and cable. Consequently, as this wireless technology becomes more prevalent, it has become increasingly important to seamlessly integrate wireless communication devices with traditional wired-based networks. However, there have been a number of problems in integrating wireless networking within existing wire-based networks.
For example, one obstacle typically encountered when integrating a wireless computing device within an existing, wire-based legacy network relates to the proper software configuration of the device. To operate correctly, each individual computing device within a given network is configured with particular software applications and drivers that allow it to, for example, communicate with other devices, utilize the network resources, etc. Problems arise when the particular computing device is physically transferred between network types—a circumstance that is increasingly common due to the availability of portable computing devices and wireless access schemes. Consequently, the computing device must typically utilize a different set of configurations, applications and/or device drivers for each different network. This is often presents a practical limitation on a user's ability to connect to a new network. For example, if a user with a portable computing device needs to connect to a new network so as to access a printer, the user may first have to download the appropriate drivers and/or applications. This exercise is typically outside of the skill set of most users. Moreover, the portable computing device may not even have the memory or storage space available for the required drivers and applications. Consequently, it is often difficult, if not impossible for all practical purposes, for mobile computers to efficiently utilize the resources of foreign networks.
Therefore, there is a need for a solution to these and other problems associated with the configuration of a computing device for different network environments. In particular, it would be an advancement to provide a solution that makes resources available to a client when it connects to a network. Preferably, the configuration would be substantially automatic and transparent to the user, and occurs in a manner that does not require significant software resources to be downloaded to the computing device client. Such a solution would allow wireless and mobile users, for example, to easily move between networks, and yet have consistent access to the network's resources. Moreover, such an approach would not require any specialized skills or knowledge on the part of the user.